package com.suhe.stock.entity;

import com.suhe.stock.entity.id.CodeDateIdClass;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
import jakarta.persistence.Table;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDate;

/**
 * 股票日K线图
 */
@Data
@Entity
@Table(name = "stock_k_line")
@IdClass(CodeDateIdClass.class) // 联合主键
@Accessors(chain = true)
public class StockKLine {

    /**
     * 代码
     */
    @Id
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 日期
     */
    @Id
    private LocalDate date;

    /**
     * 开盘价
     */
    private Double open;

    /**
     * 收盘价
     */
    private Double close;

    /**
     * 最高价
     */
    private Double high;

    /**
     * 最低价
     */
    private Double low;

    /**
     * 成交量
     */
    private Double volume;

    /**
     * 成交额
     */
    private Double turnover;

    /**
     * 振幅
     */
    private Double amplitude;

    /**
     * 换手率
     */
    private Double changes;
    
    /**
     * 涨跌额
     */
    private Double up;

    /**
     * 涨跌幅
     */
    private Double upRate;

    /**
     * 5日均线
     */
    private Double ma5;

    /**
     * 10日均线
     */
    private Double ma10;

    /**
     * 20日均线
     */
    private Double ma20;

    /**
     * 30日均线
     */
    private Double ma30;

    /**
     * 60日均线
     */
    private Double ma60;

    /**
     * 120日均线
     */
    private Double ma120;
}
